const path = require("path");
import { ConfigEnv, UserConfig } from "vite";
import AutoImport from "unplugin-auto-import/vite";
import vue from "@vitejs/plugin-vue";

// 路径转换函数
const resovePath = (paths: string) => path.resolve(__dirname, paths);

// https://vitejs.dev/config/
export default ({ command, mode }: ConfigEnv): UserConfig => {
  return {
    plugins: [
      vue({
        reactivityTransform: true,
      }),
      AutoImport({
        imports: ["vue", "@vueuse/core", "pinia", "vue-router"],
        dts: "src/types/auto-imports.d.ts",
      }),
    ],
    base: "/",
    resolve: {
      alias: {
        "@": resovePath("src"),
      },
    },
    css: {
      preprocessorOptions: {
        scss: {
          // 配置导入全局变量
          additionalData: `@import "./src/styles/global.scss";`,
        },
        less: {}, // 如果你的是less
      },
    },
    server: {
      // hmr: { overlay: false }, // 禁用或配置 HMR 连接 设置 server.hmr.overlay 为 false 可以禁用服务器错误遮罩层
      open: true, // 类型： boolean | string在服务器启动时自动在浏览器中打开应用程序；
      cors: true, // 类型： boolean | CorsOptions 为开发服务器配置 CORS。默认启用并允许任何源
      host: "0.0.0.0", // IP配置，支持从IP启动
      // port, // 类型： number 指定服务器端口;
      // proxy, // 接口代理服务配置
    },
  };
};
